It is generally known that image compression is effective in reducing the amount of image data for transmission or storage. In particular, with the introduction of scalable image coding formats like the JPEG2000, it has become possible to send and receive only a fraction of the image file and still reconstruct a high-quality image at the receiving end. The part that is dropped from the image usually contains information that describes the high-frequency components present in the image, corresponding to the details that the human visual system (HVS) is not very sensitive to.
JPEG stands for Joint Photographic Experts Group. In 1988 this committee adopted its first standard, known as the JPEG baseline, which is based on discrete cosine transform (DCT) and on Huffman coding. In 1996, a call for proposals to advance a standardized image-coding system for the new millennium was issued and many algorithms were proposed. Presently, a new standard, named JPEG2000, has been finalized. This new standard provides low bit-rate operation, with rate-distortion and subjective image quality performance superior to existing standards, without sacrificing performance at other points in the rate-distortion spectrum. More importantly, JPEG 2000 allows extraction of different resolutions, pixel fidelities, region of interest, multiple components, and more, all from a single compressed bitstream. This allows a user to manipulate, store or transmit only the essential information for any target device from any JPEG2000 compressed source image. The JPEG2000 coder is one example of the sub-band decomposition based bit-plane coders.
JPEG2000 uses wavelets as the basis for its coding scheme. With wavelet-based coding, most of the image information is coded in the earlier stages of compression, giving good reconstruction at low rates. In JPEG2000 and other scalable image codecs, the coded image information that contributes most of the image quality is placed first in the image file. In these types of image codecs, bit-plane coders are used to encode the wavelet samples in bit-planes. The bit-plane coders encode the samples starting from their most significant bit-plane. When the encoded image data is transmitted from the transmit side to a receiver, the transmitted data is limited to the available transmission bandwidth. In other words, the encoded image data must be reduced to meet a target bit-rate. It is known that the encoded image data can be reduced for transmission without substantially degrading the quality of the reconstructed image by eliminating only the least important bits of a codestream. Thus, when the image data is compressed for transmission or for storage, it is essential to include the data that contributes most to the image. One way to achieve this is to use a rate-distortion optimization algorithm. A rate-distortion optimization algorithm organizes the image data according to its contribution to the reduction in the distortion in the image to be encoded. The distortion to the image can be measured by the mean-square error, for example.
Currently image compression algorithms are used to generate codestream representations of images in a quality or resolution scalability fashion. Scalability allows multiple images with different qualities or different resolutions to be extracted from the same codestream. Thus, the same codestream can be provided to multiple applications of different capabilities. To provide a quality scalable codestream that offers optimal image quality while allowing the codestream to be truncated at different points, the rate-distortion algorithm should operate on optimizing the image compression on those truncation points.
In order to improve the image quality by avoiding the truncation at random points, WO 98/34398 (Li et al.) discloses a rate-distortion optimized embedding (RDE) for optimizing rate-distortion performance by coding information bits in the order of the steepest rate-distortion slope. However, the major drawback of the method used in WO 98/34398 is that all bit-planes must be encoded to determine the ratio of information to the target bit-rate or the target file size. At medium and low bit-rate applications, a large section of the generated codestream is discarded by the rate-distortion allocator to meet the target bit-rate. This means that a significant portion of the already encoded data will not be included in the final image. Rather, this portion of encoded data is eliminated in the truncation process. Thus, while compression efficiency is improved, the computation complexity is increased and part of the CPU time needed for image compression is wasted in encoding the unused data. In telecommunication applications where computation resources are costly, the wasted CPU time should be avoided or minimized.
U.S. Pat. No. 6,236,757 B1 (Zeng et al.) discloses an image compression method wherein an input image is divided into a plurality of image segments and each segment is assigned to a wavelet transform filter from a bank of filters for transformation. The image filters are adapted for different types of image content such as sharp edges, and slow varying contours. After transformation, the coefficients for different segments are combined in a composite wavelet coefficient image. Such a composite image allows joint, rate-distortion optimized coding of a segmented image, thereby optimally allocating bits between the transforms of the image segments for providing an easily scalable bitstream to meet a target bit-rate. The major disadvantage of this approach is that an entropy estimator must be used to for filter selection. More specifically, the entropy values of each image segment associated with all the filters in the filter bank must be evaluated and compared. This entropy estimation procedure also increases the computational complexity of the coder.
To illustrate the wastefulness in CPU time in prior art truncation methods, a brute-force approach is shown in FIGS. 1a and 1b. With this approach, after an image is decomposed by a wavelet transform (or discrete cosine transform) into samples, as shown in FIG. 1a, the samples in the transform domain are compressed bit-plane by bit-plane, starting from the most significant bit. The codestream representing the compressed image is then formed by ordering the contribution of the bits according to their distortion reduction. As such, the most important bits of the codestream are emphasized in order to achieve the optimal image quality. With this brute-force approach, like most prior art methods, all the bit-planes in each image sample are compressed as if a full codestream will be generated for transmission or storage, as shown in FIG. 1b. However, when the actual codestream is generated, a substantial part of the compressed data is discarded in order to meet the target bit-rate for transmission, or the target file size for storage. In this illustrated example, the discarded part is equivalent to half of the total bit-planes of the encoded image data. Thus, 50 percent of the CPU time used in the compression procedure is wasted in “unnecessary data coding”.
Thus, it is desirable and advantageous to provide a method and system for image coding wherein the unnecessary data coding is reduced and the computational complexity is minimized.